🤓Как использовать концепты C++20 для создания надежного кода
Устали от непонятных ошибок шаблонов? Концепты спешат на помощь.
// ❌ Старый подход без концептов template<typename T> T max_value(const std::vector<T>& values) { // Ошибка будет обнаружена только при инстанциации шаблона return *std::max_element(values.begin(), values.end()); }
// ✅ Современный подход с концептами template<typename T> requires std::totally_ordered<T> T max_value(const std::vector<T>& values) { return *std::max_element(values.begin(), values.end()); }
// Еще короче с auto auto max_value(const std::vector<std::totally_ordered auto>& values) { return *std::max_element(values.begin(), values.end()); }
❗️Преимущества:
- Более понятные сообщения об ошибках - Документирование требований в коде - Перегрузка на основе свойств типов
Встроенные концепты: std::integral, std::floating_point, std::copyable, std::same_as и другие. Библиотека C/C++ разработчика #буст
🤓Как использовать концепты C++20 для создания надежного кода
Устали от непонятных ошибок шаблонов? Концепты спешат на помощь.
// ❌ Старый подход без концептов template<typename T> T max_value(const std::vector<T>& values) { // Ошибка будет обнаружена только при инстанциации шаблона return *std::max_element(values.begin(), values.end()); }
// ✅ Современный подход с концептами template<typename T> requires std::totally_ordered<T> T max_value(const std::vector<T>& values) { return *std::max_element(values.begin(), values.end()); }
// Еще короче с auto auto max_value(const std::vector<std::totally_ordered auto>& values) { return *std::max_element(values.begin(), values.end()); }
❗️Преимущества:
- Более понятные сообщения об ошибках - Документирование требований в коде - Перегрузка на основе свойств типов
Встроенные концепты: std::integral, std::floating_point, std::copyable, std::same_as и другие. Библиотека C/C++ разработчика #буст
BY Библиотека C/C++ разработчика | cpp, boost, qt
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
A Telegram spokesman declined to comment on the bond issue or the amount of the debt the company has due. The spokesman said Telegram’s equipment and bandwidth costs are growing because it has consistently posted more than 40% year-to-year growth in users.
Pinterest (PINS) Stock Sinks As Market Gains
Pinterest (PINS) closed at $71.75 in the latest trading session, marking a -0.18% move from the prior day. This change lagged the S&P 500's daily gain of 0.1%. Meanwhile, the Dow gained 0.9%, and the Nasdaq, a tech-heavy index, lost 0.59%.
Heading into today, shares of the digital pinboard and shopping tool company had lost 17.41% over the past month, lagging the Computer and Technology sector's loss of 5.38% and the S&P 500's gain of 0.71% in that time.
Investors will be hoping for strength from PINS as it approaches its next earnings release. The company is expected to report EPS of $0.07, up 170% from the prior-year quarter. Our most recent consensus estimate is calling for quarterly revenue of $467.87 million, up 72.05% from the year-ago period.
Библиотека C C разработчика | cpp boost qt from jp